﻿//-----------------------------------------------------------------------
// <copyright file="IHttpWebRequest.cs" company="Redmist">
//     Copyright (c) Damien T Smith. All rights reserved.
// </copyright>
// <author>Damien Smith</author>
//-----------------------------------------------------------------------

namespace Redmist.UsageMonitor.WebIO
{
    using System.IO;
    using System.Net;

    /// <summary>An interface for HTTP web requests.</summary>
    public interface IHttpWebRequest
    {
        /// <summary>Gets or sets a System.Net.CookieContainer representing a container of HTTP cookies.</summary>
        CookieContainer CookieContainer { get; set; }

        /// <summary>Gets a System.IO.Stream object to use to write request data.</summary>
        /// <returns>A System.IO.Stream to use to write request data.</returns>
        Stream GetRequestStream();

        /// <summary>Returns a response from an HTTP resource.</summary>
        /// <returns>A Redmist.UsageMonitor.WebIO.IHttpWebResponse containing a response from a HTTP resource.</returns>
        IHttpWebResponse GetResponse();
    }
}
